博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask 学习笔记 mvc ,sqlalchemy(insert,update)
阅读量:6989 次
发布时间:2019-06-27

本文共 3072 字,大约阅读时间需要 10 分钟。

hot3.png

# 模型类from sqlalchemy import Column, Integer, Stringfrom application.database.mysqldb import Baseclass UserModel(Base):    __tablename__ = 'user'    id = Column(Integer, primary_key=True)    name = Column(String)    def __init__(self, id=None, name=None):        self.id = id        self.name = name

 

# -*- coding: utf-8 -*-# 数据库连接类from sqlalchemy import create_enginefrom sqlalchemy.orm import scoped_session, sessionmakerfrom sqlalchemy.ext.declarative import declarative_baseengine = create_engine("mysql+pymysql://root:123456@127.0.0.1:3306/test?charset=utf8",                       convert_unicode=True,                       echo=True)db_session = scoped_session(sessionmaker(autocommit=False,                                         autoflush=False,                                         bind=engine))Base = declarative_base()Base.db_session = db_sessionBase.query = db_session.query_property()def init_db():    # 在这里导入所有的可能与定义模型有关的模块,这样他们才会合适地    # 在 metadata 中注册。否则,您将不得不在第一次执行 init_db() 时    # 先导入他们。    Base.metadata.create_all(bind=engine)

 

# -*-coding: utf-8 -*-# 控制器类from flask import render_template, make_response, jsonify, request, flashimport jsonfrom flask.views import Viewfrom application.models.UserModel import UserModelclass User(View):    '''    用户类    '''    methods = ['GET', 'POST']    def dispatch_request(self):        user = UserModel.query.filter(UserModel.id == 2).first()        user_obj = {"id":user.id, "name":user.name}        return jsonify(user_obj)class UserLogin(View):    methods = ['GET', 'POST']    def dispatch_request(self):        if request.method == 'POST':            username = request.form['username']            user = UserModel.query.filter(UserModel.name == username).first()            if user is None:                _user_save = UserModel(name=username)                UserModel.db_session.add(_user_save)                UserModel.db_session.commit()                flash(u"登陆失败!")            else:                UserModel.query.filter(UserModel.id > 2).update({UserModel.name:'tets2'})                UserModel.db_session.commit()                flash(u"登陆成功!")            return render_template('user/login.html')        else:            return render_template('user/login.html')
{% block head %}
{% block title %}{% endblock %} - My Webpage{% endblock %}{% with messages = get_flashed_messages() %} {% if messages %}
    {% for message in messages %}
  • {
    { message }}
  • {% endfor %}
{% endif %}{% endwith %}
{% block content %}{% endblock %}
{% block footer %}
{% endblock %}
{% extends "common/header.html" %}{% block head %} {
{ super() }} {% endblock %}{% block content %}
{% endblock %}{% block footer %} {
{ super() }}{% endblock %}

转载于:https://my.oschina.net/phper1234/blog/1498969

你可能感兴趣的文章
[20150604]关于同义词的问题3.txt
查看>>
Java实现视频网站的视频上传、视频转码、视频关键帧抽图, 及视频播放功能
查看>>
VMware 虚拟化编程(11) — VMware 虚拟机的全量备份与增量备份方案
查看>>
PostgreSQL 自定义自动类型转换(CAST)
查看>>
Clash Detection
查看>>
Windows Lnk远程代码执行漏洞(CVE-2017-8464)利用测试
查看>>
专访友友新创姚宏宇 谈云计算中间件
查看>>
存储圈一个叫柏科数据的公司
查看>>
服务企业“新两化” 用友迈进3.0时代
查看>>
《计算机科学与工程导论:基于IoT和机器人的可视化编程实践方法第2版》一2.3.7 建立一个2-1多路选择器...
查看>>
一个全新的无人机需用到哪些功能的传感器技术?
查看>>
Eclipse更改皮肤,很适合开发,养眼
查看>>
复杂网络分析之数据准备篇
查看>>
CSC与HPE企业服务合并后新名称公布:DXC Technology
查看>>
高科技产业如何绿化数据中心
查看>>
数据中心运维管理经验39条
查看>>
春节期间,怎样晒朋友圈才安全?
查看>>
Python数据结构之旋转链表
查看>>
四年磨砺 亮剑中国SDN
查看>>
SD-WAN行业发展需要VNF演进
查看>>